package com.kyl.entity;

import com.aliyun.tea.NameInMap;
import com.kyl.base.BaseEntity;
import com.kyl.vo.DeviceDataVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

@Data
@ApiModel(value = "设备实体类", description = "对应数据库中设备表结构")
public class Device extends BaseEntity {

    /**
     * 设备ID
     */
    @ApiModelProperty(value = "设备ID")
    private String deviceId;

    /**
     * 绑定位置
     */
    @ApiModelProperty(value = "绑定位置")
    private String bindingLocation;

    /**
     * 位置类型 0 老人 1位置
     */
    @ApiModelProperty(value = "位置类型 0 老人 1位置")
    private Integer locationType;

    /**
     * 物理位置类型 0楼层 1房间 2床位
     */
    @ApiModelProperty(value = "物理位置类型 0楼层 1房间 2床位")
    private Integer physicalLocationType;

    /**
     * 设备名称
     */
    @ApiModelProperty(value = "设备名称")
    private String deviceName;

    /**
     * 位置备注
     */
    @ApiModelProperty(value = "位置备注")
    private String deviceDescription;

    /**
     * 是否删除
     */
    @ApiModelProperty(value = "是否删除")
    private Boolean isDeleted;

    /**
     * 备注名称
     */
    @ApiModelProperty(value = "备注名称")
    private String noteName;

    /**
     * 产品key
     */
    @ApiModelProperty(value = "产品key")
    private String productId;

//    private String productName;

    @ApiModelProperty(value = "设备备注名称")
    @NameInMap("Nickname")
    public String nickname;

    @ApiModelProperty(value = "节点类型")
    @NameInMap("NodeType")
    public Integer nodeType;

    @NameInMap("Owner")
    @ApiModelProperty(value = "所有者")
    public Boolean owner;

    @ApiModelProperty(value = "产品key")
    @NameInMap("ProductKey")
    public String productKey;

    @ApiModelProperty(value = "产品名称")
    @NameInMap("ProductName")
    public String productName;

    @NameInMap("Region")
    @ApiModelProperty(value = "区域")
    public String region;

    @NameInMap("Status")
    @ApiModelProperty(value = "状态")
    public String status;

    @NameInMap("UtcActive")
    @ApiModelProperty(value = "激活时间")
    public String utcActive;

    @NameInMap("UtcCreate")
    @ApiModelProperty(value = "创建时间")
    public String utcCreate;

    @NameInMap("UtcOnline")
    @ApiModelProperty(value = "上线时间")
    public String utcOnline;

    @ApiModelProperty(value = "设备数据VO集合")
    private List<DeviceDataVo> deviceDataVos;

}